A graphics simulation engine refers to a software application that may be used to graphically simulate physical models or objects in a virtual environment. A simulation engine may simulate and predict physical changes to a graphically rendered object under different conditions to approximate events and effects as if the object was a real object subject to real world forces and laws of physics.
Existing simulation engines may represent a physical object either as a collection of simple or complex particles. A simple particle lacks spatial extension, in that a simple particle is a representation of a graphical particle where changes to the particle's size, shape and structure are irrelevant in a given presentation context. Thus, a simple particle is generally limited to supporting movements for non-deformable objects in three spatial directions (i.e., three degrees of freedom). A non-deformable object refers to an object where the distance between any two given particles in the object remains constant in time regardless of external forces exerted on the object.
A complex particle, in contrast, may be used to represent an object of finite size which may be deformable or non-deformable. A deformable object refers to an object where the distance between any two given particles in the object may change in time with regard to external forces exerted on the object. A complex particle occupies space and is generally implemented to support rotating in three spatial directions in addition to movements in three spatial directions (i.e. six degrees of freedom).
Due to the differences between a complex particle and a simple particle, collision related computations directed to complex particle simulation are significantly more complex as compared to the computations for simple particle simulation. Also, in complex particle simulation, the accuracy of collision detection or other parameters may decrease as the number of complex particles increases.
Features, elements, and aspects of the invention that are referenced by the same numerals in different figures represent the same, equivalent, or similar features, elements, or aspects, in accordance with one or more embodiments.